Skip to main content

Full text of "Arduino"

See other formats

Wii Nunchuk Mouse 


Make Projects 

build, hack, tweak, share, discover. 

Wii Nunchuk Mouse 

Written By: Gabriel Bianconi 


Computer running Windows (1) 


Arduino Uno microcontroller (1) 
Nintendo Wii Nunchuk controller (1) 
140mm male/male jumper wires (4) 


Today, more and more devices are using motion control. From tablets to cellphones to game 
consoles, people are getting used to interacting with electronics using gestures. Personal 
computers, however, have lagged behind a bit. Unable to find a suitable gestural controller 
for my Windows PC on the consumer market, I set out to build my own. 

I based my design on the Wii Nunchuk controller for several reasons. First, it's a versatile, 
comfortable, well-designed controller; second, it's cheap and easy to find; and third, its 
native I2C serial protocol is easy to interface with Arduino. As a bonus, the connector will 
accept standard jumper wires, so there's no need to cut up the cable or use a dedicated 

The Arduino runs a sketch that reads data from the controller and prints to the computer's 
serial port. The computer runs a Python script, which receives serial data and emulates a 

© Make Projects 

Page 1 of 7 

Wii Nunchuk Mouse 

Step 1 — Install the Software 

© Make Projects Page 2 of 7 

Wii Nunchuk Mouse 

• Download the Arduino IDE for 
Windows at . 
Extract the arduino-1.0 folder to 
your hard drive. Inside this folder 
you'll find arduino.exe. 

• Download the Arduino Nunchuk 
library at Bianconi/Arduin... . 
Extract the ArduinoNunchuk folder 

to your hard drive. 

• Open theArduino IDE and select 
File -> Preferences. Note the folder 
under Sketchbook folder and open 
it in Windows Explorer. Look for a 
folder named libraries. If there isn't 
one, you should create it. Move the 
ArduinoNunchuk folder into 

• Download Python 2.7.2 for 
Windows at 

http://python.Org/ftp/python/2.7.2/pytho. .. 
and run the installer. You can find 
IDLE, the Python IDE, atStart -> 
Python 2.7 or launch it at 

• You should not download 
Python 3. The script used in 
this project won't work with this 

• Download the pyserial module at . 
Extract the pyserial-2.6 folder to 
C:\. Launch the command prompt 
window at Start -> Accessories -» 
Command Prompt. Type cd /d 
c : \pyserial-2 . 6 and hit enter. 


© Make Projects 

Page 3 of 7 

Wii Nunchuk Mouse 

Now type c:\ Python27\python 
setup. py install and hit enter 

• Download py Win32 at 
and run the installer. 

Step 2 — Connect the controller to the Arduino. 





We'll use 4 colors of jumper wires to simplify the instructions. Insert the jumpers into the 
Wii Nunchuk's connector. 

On your Arduino, connect the red wire to +3.3V and the black wire to GND. Connect the 
green wire to A5 and the yellow wire to A4 

© Make Projects 

Page 4 of 7 

Wii Nunchuk Mouse 

Step 3 — Upload the arduino Sketch 

• Connect your Arduino to your computer via USB. If this is the first time, you'll need to 
install the required driver. Windows will not be able to install it automatically, so you'll need 
to select it in arduinol.O/drivers. 

• Open the Windows Control Panel and search for the Device Manager. You can find the 
port in which your Arduino is inserted under Ports (COM & LPT). Open the Arduino IDE 
and select the correct port under Tools -> Serial Port. 

• Relaunch Arduino. Select your Arduino model under Tools -> Board. 

© Make Projects 

Page 5 of 7 

Wii Nunchuk Mouse 

Step 4 

Open the Serial Monitor. At the bottom right, change 9600 baud to 19200 baud and wait a 
few seconds. You should see 7 columns of values that change if you move the Wii 
Nunchuk, move the analog stick, or press a button. If it's working correctly, close the 
serial monitor. 

The ArduinoNunchuk library that you've installed has an example sketch that prints the 
data from the Wii Nunchuk to the computer's serial port. Open the example file by 
selecting File — > Examples -» ArduinoNunchuk -> ArduinoNunchukDemo. Upload this 
sketch to your Arduino. 

If you can't find the example sketch, try relaunching the IDE. If this doesn't fix the 
problem, you probably didn't install the library correctly. 

If you don't see the numbers, you probably did something wrong or skipped a step. 
Make sure that the wires are connected properly and the baud rate and serial port 
are set up correctly. 

If you get an error when trying to run the file, make sure that the port was correctly 
set up and both pyserial and pywin32 installed. If this doesn't solve the problem, try 
restarting IDLE and your Arduino. If it still doesn't work, restart your computer. 


© Make Projects 

Page 6 of 7 

Wii Nunchuk Mouse 

Step 5 — Set up the script. 

Download the Python script at . 

4b. Open it with IDLE (Rightclick -^ Edit with IDLE). Look for the line which says port = 
y arduino_port' and write the correct port (leave the quotes). It should look like port 
'comio ' (use the same port as set up in the Arduino IDE). Save the script (File -> Save 
or Ctrl+S). 

Press F5 to run the file and wait a few seconds. Enjoy using the Wii Nunchuk as a 
computer mouse! 

This project first appeared in MAKE Volume 33 . page 118. 

This document was last generated on 2013-01-30 03:22:28 PM. 

© Make Projects 

Page 7 of 7